// pages/Home/grade/grade.js
const app = getApp();
const rapi = require('../../../_self/api.js');
//查询成绩，统计选修课和必修课全部多少分
const sel_item = app.sel_item
const pm = require('../../../_self/premap.js');
const cloudimg = wx.cloud.database().collection('bg_imgs');
//下拉选择 学年学期id
Page({

  /**
   * 页面的初始数据
   */
  data: {
    img: '',
    gradeList: [],
    xh: '', //学号
    xnxq: '',
    gxk: 0, //公选课
    bxk: 0, //必修
    xxk: 0, //选修
    cpa: 0, //绩点
    key:'',//检索关键词
  },

  getkey(e){
    this.setData({
      key:e.detail.value
    })
  },
  match(){
    var _ = this;
    var reg = new RegExp(_.data.key,"i");
    var tlist = _.data.gradeList;
    var newGradeList = [];
    for(var i=0;i<tlist.length;i++){
      //匹配
      var t = tlist[i];
      if(t.kcmc.match(reg)||t.kcxzmc.match(reg)||t.kclbmc.match(reg)){
        newGradeList.push(t);
      }
    }
    _.setData({
      gradeList:newGradeList
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var _school = '山东科技大学';
    var _ = this;
    cloudimg.where({
      part: 'grade',
      school: _school
    }).get().then(res => {
      if (res.data.length != 0) {
        _.setData({
          img: res.data[0].imgurl
        })
      }
    })
    //接口请求，修改绩点计算规则在此处进行修改
    rapi.getCjcx(sel_item).then(res => {
      var arr = pm.PreGrade(res.result);
      wx.setStorageSync('gradelist', arr);//设置缓存
      //console.log(arr)
      var gxk = 0,
        xxk = 0,
        bxk = 0,
        cpa = 0;
      for (var i = 0, len = arr.length; i < len; i++) {
        if (arr[i].kclbmc == '必修') {
          bxk = bxk + arr[i].xf;

        } else if (arr[i].kclbmc == '选修') {
          xxk = xxk + arr[i].xf;
        } else if (arr[i].kclbmc == '公选') {
          gxk = gxk + arr[i].xf;
        }
        if (arr[i].zcj == '优') {
          cpa = cpa + 4.5;
        } else if (arr[i].zcj == '良') {
          cpa = cpa + 3.5
        } else if (arr[i].zcj == '中') {
          cpa = cpa + 2.5;
        } else if (arr[i].zcj == '及格') {
          cpa = cpa + 1;
        } else {
          if (arr[i].zcj == '不及格' || arr[i].zcj < 60) {
            console.log('--不及格')
          } else {
            cpa = cpa + (arr[i].zcj - 50) / 10;
          }
        }
        //渲染耗时更多，但是效果好看一些
        _.setData({
          gxk: gxk,
          bxk: bxk,
          xxk: xxk,
          cpa: cpa.toFixed(1),
          gradeList:arr
        })
        //赋值S   
      }
      
      // pm.
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})